草庐IT

Android isScreenOn Nullpointer异常

全部标签

c# - 什么都不抛出时的异常效率

我有一个关于在没有抛出异常的情况下使用异常处理的效率后果的假设性问题。首先看一下这个C#:intsimpleSimon,cautiousCarol,dangerousDave;try{simpleSimon=int.Parse("fail");}catch{simpleSimon=1;}try{cautiousCarol=int.Parse("1");}catch{cautiousCarol=1;}dangerousDave=int.Parse("1");我相信Dave的代码将是最快/最有效的;而Simon将因抛出异常而受到很大的惩罚。但是卡罗尔呢?由于她没有抛出异常,她会受到惩罚吗?

c# - RX 和异常处理

我正在为一种进程中的消息总线使用响应式扩展。实现非常简单。注册的样子publicIDisposableRegister(Actionaction)whereT:IMessage{returnthis.subject.OfType().Subscribe(action);}然后简单地发送:privatevoidSendMessage(IMessagemessage){this.subject.OnNext(message);}但是我现在在RX的异常行为方面遇到了一些麻烦。一个异常在注册/订阅的操作中被抛出——Observable的“流”被破坏并且将不再订阅。由于此消息总线用于应用程序的两

c# - 从任何线程捕获未处理的异常

编辑这个问题的答案有帮助谢谢我很感激你的帮助:)但我最终使用了:http://code.msdn.microsoft.com/windowsdesktop/Handling-Unhandled-47492d0b#content原始问题:我想在我的应用程序崩溃时显示一条错误消息。目前我有:App.xaml:App.xaml的代码隐藏:namespaceWpfApplication5{publicpartialclassApp:Application{privatevoidApp_DispatcherUnhandledException(objectsender,DispatcherUnh

c# - 集合中元素过多时抛出哪个异常

我希望我类(class)的集合限制为最多6个元素:publicclassFoo{privateICollectionbars;publicICollectionBars{get{returnthis.bars;}set{if(value!=null&&value.Count>6){thrownewException("AFoocanonlyhaveupto6Bars.");//Whichexceptiontothrow?}}}}在这种情况下应该抛出什么异常?根据文档,ArgumentException将被抛出:whenoneoftheargumentsprovidedtoamethod

c# - Csv 阅读器异常未处理

我一直遇到这个错误:Anunhandledexceptionoftype'CsvHelper.CsvReaderException'occurredinCsvHelper.dllAdditionalinformation:Nopropertiesaremappedfortype'RPS_String_Parse.Program+FormattedRow'.但我相信我正在关注thedocumentation正确。在引用了“入门”部分后,我实现了这个:using(varsr=newStreamReader(filePath)){varcsv=newCsvReader(sr);varreco

c# - 多种形式的异常处理

我在调试时和在运行已编译的.exe时看到异常被捕获或未被捕获的不同行为。我有两种形式(Form1和Form2)。Form1上有一个按钮,它在Form2上实例化并调用ShowDialog。Form2上有一个按钮,它有意产生被零除的错误。当我调试时,命中了Form1中的catchblock。当我运行已编译的.exe时,它​​没有命中,而是出现一个消息框,指出“您的应用程序中发生了未处理的异常。如果您单击继续,应用程序将忽略此错误并尝试继续。如果您单击退出,应用程序将立即关闭...试图除以零”。我的问题是为什么在调试时和运行.exe时会出现不同的行为?如果这是预期的行为,那么是否认为有必要在

c# - 找到最内层异常的正确方法?

我正在处理一些类,这些类在抛出时具有相对较深的InnerException树。我想记录最里面的异常并对其采取行动,这是导致问题真正原因的异常。我目前正在使用类似的东西publicstaticExceptiongetInnermostException(Exceptione){while(e.InnerException!=null){e=e.InnerException;}returne;}这是处理异常树的正确方法吗? 最佳答案 我认为您可以使用以下代码获取最里面的异常:publicstaticExceptiongetInnermo

c# - 分层 Entity Framework 查询异常

我正在尝试使用EntityFramework构建分层集合-请参阅下面的查询-给定公司中的每个成员都有一个父成员-但是在尝试执行此操作时我得到以下异常:System.NotSupportedException:Thetype'Member'appearsintwostructurallyincompatibleinitializationswithinasingleLINQtoEntitiesquery.Atypecanbeinitializedintwoplacesinthesamequery,butonlyifthesamepropertiesaresetinbothplacesan

c# - 如何让任务异常传播回 UI 线程?

在TPL中,如果Task抛出异常,该异常被捕获并存储在Task.Exception中,然后遵循observedexceptions上的所有规则.如果它从未被观察到,它最终会在终结器线程上重新抛出并使进程崩溃。有没有办法阻止Task捕获该异常,而只是让它传播?我感兴趣的任务已经在UI线程上运行(由TaskScheduler.FromCurrentSynchronizationContext提供),我希望异常转义以便它可以由我现有的Application.ThreadException处理处理程序。我基本上希望Task中未处理的异常表现得像按钮单击处理程序中的未处理异常:立即在UI线程上传

c# - .NET ConcurrentDictionary.ToArray() 参数异常

有时,当我调用ConcurrentDictionary.ToArray时,会出现以下错误。错误如下:System.ArgumentException:Theindexisequaltoorgreaterthanthelengthofthearray,orthenumberofelementsinthedictionaryisgreaterthantheavailablespacefromindextotheendofthedestinationarray.atSystem.Collections.Concurrent.ConcurrentDictionary2.System.Colle